<?php

require_once 'Usuario.php';
require_once '../model/dao/DBAluno.php';

/**
 * Classe Aluno, responsável por representar o estado e comportamento dos objetos de tipo aluno.
 * Essa classe é uma especialização de Usuário, ou seja, herda métodos e atributos de usuário.
 *
 * @author gabrielbmoro
 */
class Aluno extends Usuario {

    private $dbAluno;
    private $matricula;
    private $disciplina;
    private $anoSemestre;

    /* Método construtor é responsável por inicializar os dados de: senha, email, matrícula, nome e
      o dbAluno que realizará toda a comunicação com o banco de dados. */

    public function __construct($senha, $email, $matricula, $nome) {
        $this->matricula = $matricula;
        parent::__construct($senha, $email, $nome);
        $this->dbAluno = new DBAluno();
    }

    public function registrarPresenca($matricula, $disciplina, $anoSemestre) {
        $this->matricula = $matricula;
        $this->disciplina = $disciplina;
        $this->anoSemestre = $anoSemestre;
    }

    /* Método responsável por retornar o nome do aluno de acordo com sua defesa. */

    public function getNomeParaDefesa($palavra) {
        return $this->dbAluno->selectLike("`nome`", $palavra);
    }

    /* Método responsável por recuperar a matrícula. */

    public function getMatricula() {
        return $this->matricula;
    }

    /* Método responsável por alterar a matrícula */

    public function setMatricula($matricula) {
        $this->matricula = $matricula;
    }

    public function entregarTCC() {
        return false;
    }

    public function cadastroInicialDoTcc() {
        return false;
    }

    public function getAnoSemestre() {
        return $this->anoSemestre;
    }

    public function getDadosDePerfil($idAluno) {
        $arrayList= $this->dbAluno->recuperar($idAluno);
        return $arrayList;
    }

}
